/*
 * @Author: Warren
 * @Date: 2025-06-09 11:51:23
 * @LastEditors: Warren
 * @LastEditTime: 2025-07-01 15:49:18
 * @FilePath: /nest-web/src/modules/auth/auth.module.ts
 * @Description: 请填写文件说明
 */
import { Module } from '@nestjs/common';
import { AuthService } from './auth.service';
import { AuthController } from './auth.controller';
import { UserModule } from '../user/user.module';
import { PassportModule } from '@nestjs/passport';
import { JwtModule } from '@nestjs/jwt';
// import { TypeOrmModule } from '@nestjs/typeorm';
// import { User } from 'src/entities/user.entity';

@Module({
    /* 动态导入并注册与 User 实体关联的 TypeORM Repository，使其可以在当前模块的 providers 或 controllers 中注入使用。 */
    imports: [
        // TypeOrmModule.forFeature([User]),
        UserModule,
        PassportModule.register({ 
            defaultStrategy: 'jwt', 
        }),
        JwtModule.register({
            secret: 'secret-key', // 实际项目中应该使用环境变量
            signOptions: {
                expiresIn: '1h',
            },
        }),
    ],
    /* 表示当前模块注册了 AuthController ，使其能够处理与该控制器相关的 HTTP 请求。 */
    controllers: [AuthController],
    /* providers 中注册的类（如 Service、Repository 等）可以通过 NestJS 的依赖注入系统被其他类（如 Controller、其他 Provider）注入使用 */
    providers: [AuthService],
})
export class AuthModule {}
